package com.eventbus;

import com.google.common.eventbus.EventBus;
import org.junit.Test;

public class EventBusDemo {

    /**
     * EventBus是Guava的事件处理机制，是设计模式中的观察者模式（生产/消费者编程模型）的优雅实现。
     * 对于事件监听和发布订阅模式，EventBus是一个非常优雅和简单解决方案，我们不用创建复杂的类和接口层次结构
     */
    @Test
    public void test01(){
        // 创建事件总线
        EventBus eventBus = new EventBus("test");
        EventListener listener = new EventListener();
        eventBus.register(listener); //添加订阅者
        eventBus.post(new MyEvent("消息")); //发布消息,订阅者自动接收
        eventBus.post(100); //发布消息
        eventBus.post("测试消息"); //发布消息
    }
}
